前幾天我們做的自動化,基本上都是靠鬧鐘(排程)去主動敲別人的門,定期去檢查有沒有新資料。但排程有個硬傷:間隔拉太長,資訊不夠即時;間隔設太短,又浪費伺服器資源甚至會被對方封鎖。今天我們換個思維模式,改用「Webhook」當門鈴,讓外部服務只要一有動靜,就立刻主動打電話給 n8n,達到真正的零延遲即時觸發。
什麼是 Webhook?用門鈴來理解它
如果說定時輪詢(Polling)是我們每隔五分鐘跑去門口看信箱有沒有新信,那 Webhook 就是讓郵差直接按門鈴。我們在 n8n 裡產出一組專屬的受話網址(URL),把這組網址交給外部系統(比如 GitHub、線上表單、付款閘道或自製的小工具)。對方一有新事件發生,就把整包資料朝著這組網址推過來,我們的流程在收到的那一瞬間立刻被叫醒並開始幹活。
在畫布上掛起 Webhook 節點
在畫布新增一個「Webhook」節點當作起點。點開設定面板,主要會看到兩個網址:一個是「Test URL(測試專用)」,另一個是「Production URL(正式環境)」。這裡非常容易踩雷:當你在畫布上點擊「Listen for test event」準備除錯時,外部必須把資料打到 Test 網址,畫布才會把那筆資料抓進來給你看;只有當流程全部測順、右上角開關切換為啟用狀態後,才換成 Production 網址接收真實流量。
設定 HTTP 方法與即時回應
在節點設定裡,把請求方法(HTTP Method)挑選為常見的 POST,這樣對方才能把整包 JSON 內容塞進主體(Body)送過來。另外還有一個關鍵欄位叫「Respond(回覆方式)」,如果外部平台要求在送出資料後必須立刻收到確認訊號(比如回傳 200 OK),我們把回覆設定選為「Immediately」,避免對方以為請求逾時而反覆重發好幾次相同資料。
實戰測試:接住外部丟過來的包裹
把產生出來的測試網址複製下來,利用終端機指令或是 API 測試工具(像是 Postman 或瀏覽器插件),朝這個網址發送一筆帶有姓名、留言內容與時間戳記的假資料。發送成功的當下,回到 n8n 畫布,就會看見原本等待中的節點瞬間亮起綠燈,左側面板把剛才送過來的整包資料拆解得清清楚楚。之後只要在後面接上我們前幾天學過的 AI 摘要、過濾判斷或通知推播,整條隨傳隨到的即時鏈條就全部打通了。
弄懂 Webhook 之後,你的自動化觸手就直接伸到了整個網際網路。明天我們就順著這個即時接收的概念,把線上表單送過來的資料抓下來,自動整理並寫進 Google Sheets 做輕量化資料記帳。